home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 7 / Apprentice-Release7.iso / Source Code / C / Applications / POV-Ray 3.0.2 / src / MacSource / ScreenUtils.h < prev    next >
Encoding:
C/C++ Source or Header  |  1996-07-14  |  2.4 KB  |  66 lines  |  [TEXT/CWIE]

  1. /*
  2. ==============================================================================
  3. Project:    POV-Ray
  4.  
  5. Version:    3
  6.  
  7. File Name:    ScreenUtils.h
  8.  
  9. Description:
  10.     General-purpose screen/device routines.
  11.  
  12.     This is the header file, containing the public definitions for
  13.     the useful external functions.
  14.  
  15. Related Files:
  16.     screenUtils.c    - Main implementation for these routines
  17. ------------------------------------------------------------------------------
  18. Author:
  19.     Eduard [esp] Schwan
  20. ------------------------------------------------------------------------------
  21.     from Persistence of Vision(tm) Ray Tracer
  22.     Copyright 1996 Persistence of Vision Team
  23. ------------------------------------------------------------------------------
  24.     NOTICE: This source code file is provided so that users may experiment
  25.     with enhancements to POV-Ray and to port the software to platforms other 
  26.     than those supported by the POV-Ray Team.  There are strict rules under
  27.     which you are permitted to use this file.  The rules are in the file
  28.     named POVLEGAL.DOC which should be distributed with this file. If 
  29.     POVLEGAL.DOC is not available or for more info please contact the POV-Ray
  30.     Team Coordinator by leaving a message in CompuServe's Graphics Developer's
  31.     Forum.  The latest version of POV-Ray may be found there as well.
  32.  
  33.     This program is based on the popular DKB raytracer version 2.12.
  34.     DKBTrace was originally written by David K. Buck.
  35.     DKBTrace Ver 2.0-2.12 were written by David K. Buck & Aaron A. Collins.
  36. ------------------------------------------------------------------------------
  37. Change History:
  38.     920826    [esp]    Created
  39.     931001    [esp]    version 2.0 finished (Released on 10/4/93)
  40. ==============================================================================
  41. */
  42.  
  43. #if !defined (SCREENUTILS_H)
  44. #define SCREENUTILS_H
  45.  
  46. #include "config.h"
  47. #include <types.h>
  48.  
  49. typedef enum WindCentering_t {ewcKeepRelPosition, ewcDoCentering} WindCentering_t;
  50. typedef enum WindPositioning_t {eSameAsPassedWindow, eMainDevice, eDeepestDevice} WindPositioning_t;
  51.  
  52. void        GetGlobalWindowRect(WindowPtr theWindow, Rect *theRect);
  53.  
  54. void        ForceRectOnScreen(Rect *aGlobalRect);
  55.  
  56. GDHandle    GetClosestGDevice(Rect *sourceRectp);
  57.  
  58. void        GetMaxGrowRect(WindowPtr wind2Grow, Rect * growRectp);
  59.  
  60. void        CenterWindInRect(WindowPtr wind2Center, Rect outerRect);
  61.  
  62. void        PositionWindow(WindowPtr wind2Position, WindCentering_t doCentering, WindPositioning_t whereToShow, WindowPtr passedWindow);
  63.  
  64.  
  65. #endif // SCREENUTILS_H
  66.